//当lambda表达式的捕获列表为空时，可以作为一个函数指针进行传递
//std::function是一种通用、多态的函数封装，它的实例对任何可以调用的目标实体进行存储、复制和调用。就是函数的容器
#include <functional>
#include "include.h"

int fo(int para)
{
	return para;
}
void test_std_function()
{
	std::function<int(int)>fun1=fo;//如果是重载函数就有问题
	int t=10;
	std::function<int(int)>fun2=[=](int value)->int
	{
		return t+value;
	};
	cout<<"fun1(10) = "<<fun1(10)<<endl;
	cout<<"fun2(10) = "<<fun2(10)<<endl;
}
